package com.cmc.cloud.cmclink.doc.convert;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.Mapping;import org.mapstruct.Mappings;import org.mapstruct.factory.Mappers;

import com.cmc.cloud.cmclink.doc.api.document.rep.sendarrivaldto.BlnoArrivalNoticeDTO;
import com.cmc.cloud.cmclink.doc.api.document.rep.sendarrivaldto.CargoInfoDTO;
import com.cmc.cloud.cmclink.doc.api.document.rep.sendarrivaldto.CntrInfoDTO;
import com.cmc.cloud.cmclink.doc.api.document.rep.sendarrivaldto.PleaseContactDTO;
import com.cmc.cloud.cmclink.doc.entity.ArrivalnoticePrintSetupDO;
import com.cmc.cloud.cmclink.doc.entity.BlnoCargoDO;
import com.cmc.cloud.cmclink.doc.entity.BlnoCntrDO;
import com.cmc.cloud.cmclink.doc.entity.BlnoDO;

/**
 * 确认装货港更改通知 Convert
 *
 * @author 集运管理员
 */
@Mapper
public interface BlnoArrivalNoticeConvert {
    /**
     * 获取转换接口的实例
     */
    BlnoArrivalNoticeConvert INSTANCE = Mappers.getMapper(BlnoArrivalNoticeConvert.class);

    /**
     * convert转换
     *
     * @param bean 创建请求VO
     * @return DTO
     */
    @Mappings(value = {@Mapping(target = "blnoId", source = "id")})
    BlnoArrivalNoticeDTO convert(BlnoDO bean);

    /**
     * convert转换
     *
     * @param list list
     * @return DTO
     */
    List<CntrInfoDTO> convertCntrList(List<BlnoCntrDO> list);

    /**
     * convert转换
     *
     * @param bean 创建请求VO
     * @return DTO
     */
    CargoInfoDTO convert(BlnoCargoDO bean);

    /**
     * convert转换
     *
     * @param bean 创建请求VO
     * @return DTO
     */
    PleaseContactDTO convert(ArrivalnoticePrintSetupDO bean);
}
